home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Science / Propagator 1.0 Demo / Manual next >
Text File  |  1994-02-09  |  21KB  |  465 lines

  1.                Propagator for Macintosh Demo User's Manual
  2.                          February 9, 1994
  3.  
  4.  
  5.  
  6. **** Table of Contents
  7.  
  8.      Section 1 - Introduction
  9.      Section 2 - Using Propagator Demo
  10.          Running an Example Problem
  11.      Section 3 - Preparing Your Own Data Files
  12.      Section 4 - The Control Window and the Dialog Boxes
  13.           Control Window
  14.           Architecture Dialog
  15.           Training Dialog
  16.           Testing Dialog
  17.      Section 5 - The Graphs
  18.      Section 6 - Other Features
  19.      Section 7 - Ordering Information
  20.  
  21.  
  22.  
  23. **** Section 1 - Introduction
  24.  
  25. Propagator is a commercial neural network development product produced by ARD
  26. Corporation.  Propagator runs several variations of the most common neural
  27. network paradigm, backpropagation.  There are versions of Propagator that run
  28. on the Windows-based IBM PC, Macintosh, and Sun Workstations.  This demo
  29. version is for the Macintosh running System 7.x.  The main feature missing
  30. from this demo is the ability to save your results.  Otherwise the program is
  31. fully functional.  Additionally, the Propagator network source code generator
  32. utility is not included with this package since it requires saved network
  33. problem files to work.
  34.  
  35. This document is intended to provide a brief introduction to how to operate
  36. Propagator.  It is not intended to replace the Propagator User's Manual.  In
  37. addition to the information provided here, there are a series of help screens
  38. inside Propagator that can help answer questions that you might have while
  39. running Propagator.
  40.  
  41.  
  42.  
  43. **** Section 2 - Using Propagator Demo
  44.  
  45. Running an Example Problem
  46.  
  47. If you are somewhat familiar with backpropagation, you should be able to run a
  48. problem in a matter of minutes.  There are some example problems included with
  49. the demo for you to use while learning to use Propagator.  This demo version
  50. will allow you to use your own files, and the file format is discussed below.
  51. One of the example problems is called the encoder problem.  This problem
  52. attempts to replicate the input values as the output values while passing the
  53. data through a smaller number of hidden nodes.  This requires the network to
  54. learn to encode or compress the data from input layer to hidden layer and to
  55. decode or uncompress again from hidden to output layer.  The following
  56. abbreviated instructions describe how to setup and run the encoder problem.
  57.  
  58. Start Propagator by double clicking the Gator icon.
  59.      - The control window will appear
  60.  
  61. To define the network architecture, select the "Architecture" button on the
  62. Control Window.
  63.      - The Network Architecture dialog will appear
  64.      - Use this dialog to define the architecture
  65.  
  66. Enter the following settings in the dialog:
  67.      - Number of layers = 3
  68.      - Nodes per layer
  69.           - Input layer = 8
  70.           - Hidden layer = 3
  71.           - Output layer = 8
  72.      - Transfer functions
  73.           - Hidden layer = Sigmoid
  74.           - Output layer = Sigmoid
  75.      - Fully Connected
  76.      - Randomize weights
  77.           - Low value = -1.0
  78.           - High value = 1.0
  79.      - Generalized Delta Rule
  80.      - Time-based random seed
  81.      - Press "OK" to close the Network Architecture Dialog.
  82.  
  83. To define the training parameters, select the "Training Parameters" button on
  84. the Control Window.
  85.      - The Network Training Parameters dialog will appear
  86.      - Use this dialog to define the training parameters
  87.  
  88. Enter the following settings:
  89.      - Learning rate = 0.5
  90.      - Momentum factor = 0.9
  91.      - Total training cycles = 2000
  92.      - Min training error = 0.0
  93.      - Update interval = 10
  94.      - Random presentation
  95.      - No input noise
  96.      - Press the "Open Training File..." button
  97.           - This will display an Open dialog.  Select the file encoder.trn
  98.                in the encoder directory.
  99.      - Press the "Open Validation File..." button
  100.           - This will display an Open dialog, select the file encoder.val
  101.                in the encoder directory.
  102.      - Press "OK" to close the Training Parameters Dialog.
  103.  
  104. To run the encoder problem, press the "Train" button from the Control Window.
  105.      - The problem will start running.
  106.      - You can stop the problem manually by pressing "Stop" button.
  107.      - You can open any or all of the graphs from the Graphs menu.
  108.  
  109. That's all it takes to run a Propagator neural network.  There are many
  110. other features that Propagator provides.  They are explained in the sections
  111. below.  But, first the Propagator file format is explained so you can test
  112. Propagator with you own data.
  113.  
  114.  
  115.  
  116. **** Section 3 - Preparing Your Own Data Files
  117.  
  118. The Scale utility is included with the Propagator demo.  This program performs
  119. two main functions.  First, it changes any non-numeric delimiter characters to
  120. tabs '\t' and newlines '\n' used by Propagator.  Second, it will scale the
  121. input and target values to ranges specified by you.  This section will explain
  122. the format of Propagator input files training, validation, and testing.  All
  123. the files use the same format.  Data files contain two parts, input and
  124. targets; each input is paired with its target.  An input-target pair is called
  125. a pattern.  Each data file may contain many patterns.
  126.      1. Data files must be in ASCII format.
  127.      2. All inputs and targets must be numbers.
  128.           - floating point and integer are both allowed
  129.           - zero and negative numbers are also allowed
  130.      3. Data files take the following format.
  131.           Pattern 1 inputs         Pattern 1 targets
  132.           Pattern 2 inputs         Pattern 2 targets
  133.           Pattern 3 inputs         Pattern 3 targets
  134.                ...                 ...
  135.           Pattern n inputs         Pattern n targets
  136.      4. Inputs and targets must be separated by one or more white spaces.
  137.           - spaces ' ', tabs '\t', or newlines '\n'
  138.      5. Any number of items can be places on the same line.
  139.           - patterns can be split onto many lines
  140.           - several patterns can be put on one line
  141.  
  142. Acceptable example for three patterns, each with 2 inputs and 3 targets:
  143.      0.21 9.8  9.1  3    7
  144.      .1   .2   .3   .4   0.5
  145.      .001 .9   100  1    1.1
  146. For the first pattern .21 and 9.8 are the inputs, and 9.1, 3, and 7 are the
  147. targets.
  148.  
  149. Unacceptable example for three patterns, each with 2 inputs and 3 targets:
  150.      0.21,     9.8, 9.1, 3,   7
  151.      .1,  .2,  .3,  .4,  0.5
  152.      .001,     .9 Last pattern
  153.  
  154. The problems with this data are:
  155.      - Commas cannot be used as delimiters.  The Scale program can
  156.           remove them.
  157.      - The number of items in the file does not match the network
  158.           architecture.  Since there are 5 items in a patterns (2 + 3)
  159.           there must be a multiple of 5 number of items in the file.
  160.      - The text "Last pattern" cannot appear in the file.  All entries must
  161.           be numbers.
  162.  
  163. The Scale program makes it much easier to prepare input data for Propagator.
  164. This program performs three basic functions.
  165. 1. Scales the input and target data and places it in a file.
  166. 2. Sets the delimiters to tabs '\t' between items and newlines '\n' at the end
  167.      of each pattern.
  168. 3. Creates a log file detailing the scaling process.
  169.  
  170. To run Scale utility, double click on the Scale icon.
  171.  
  172. Enter the following values in the Scale program window:
  173.      - The number of input nodes.
  174.      - Click the Scale Input Patterns check box if you want to scale the
  175.           inputs (otherwise the input values will remain the same, and
  176.           only the delimiters will be changed).
  177.      - The number of target nodes.
  178.      - Click the Scale Target Patterns check box if you want to scale the
  179.           inputs (otherwise the target values will remain the same,
  180.           and only the delimiters will be changed).
  181.      - Select the Select Input File... button.
  182.           - Use this to select your raw input data file.
  183.      - Select the Select Output File... button.
  184.           - Use this to name the output file for the scaling results.
  185.  
  186. To start scaling, press the Scale button.
  187.      - The process will create a file useable by Propagator.
  188.  
  189.  
  190.  
  191. **** Section 4 - The Control Window and the Dialog Boxes
  192.  
  193. Control Window
  194.  
  195. When you start Propagator, by double clicking the Propagator
  196. icon, the control window will be displayed.  The control window is command
  197. central for Propagator.  From this window, you can view all of your current
  198. setting, view the current status of the network, access the architecture
  199. dialog, access the training parameters dialog, access the testing parameters
  200. dialog, view the performance history dialog, start training, stop training and
  201. start testing.  Clicking on the three buttons on the left side of the control
  202. window (Architecture, Training, Testing) open the appropriate dialog box.
  203. These dialog boxes can also be accessed from the network menu.  The three
  204. buttons on the bottom of the screen are used to start and stop training and
  205. testing.  You can start and stop training as often as you want.
  206.  
  207.  
  208.  
  209. Network Architecture Dialog
  210.  
  211. The architecture dialog is used to design your
  212. neural network.  There are a variety of setting that are available.  Once you
  213. make your setting and start training you cannot access the dialog box again.
  214. In order to change the architecture, you must either start a new problem or
  215. select reinitialize from the network menu.  The following parameters are
  216. defined in the Network Architecture dialog box:
  217.  
  218. Number of Layers - Propagator can use from two to five layers.
  219.  
  220. Nodes per Layer - Specifies how many nodes make up each network layer.  You
  221. can have from 1 to 32768 nodes per layer.
  222.  
  223. Transfer Functions - Functions assigned to each layer except the input layer
  224. which is always linear.  Three functions are available: Linear, Sigmoid, and
  225. Tanh.  Generally, at least one of the layers uses a nonlinear transfer
  226. function (tanh or sigmoid).  When using tanh, data normalization is usually
  227. between -1 and 1.  When using sigmoid, data normalization is between 0 and 1.
  228.  
  229. Connectivity - Enables selection of fully connected or partially connected
  230. networks.  If a partially connected network is used, a Partial Connection File
  231. must be specified.  This file determines which nodes are connected.  Most
  232. applications use fully connected networks.
  233.  
  234. Weight Initialization - Used to assign Weight Initialization values.  For the
  235. network to learn, all of the initial weights cannot be the same.  Propagator
  236. enables you to specify low and high range limits for the initial weight
  237. values.  Propagator assigns the weights and bias units random numbers between
  238. these two values.  The valid range for each of the limits is -9999.99 to
  239. 9999.99, and the low value must be less than the high value.
  240.  
  241. Learning Rule - Propagator permits the use of either the Generalized Delta
  242. Rule or the Cumulative Delta Rule.  Both are variations of backpropagation.
  243. The difference between the two rules is that the Generalized Delta Rule
  244. updates the weights after every training pattern and the Cumulative Delta Rule
  245. updates the weights at the end of each cycle.  When using the Generalized
  246. Delta Rule, the training patterns are typically presented to the network in
  247. random order.  To save time, they should be presented sequentially when using
  248. the Cumulative Delta Rule.
  249.  
  250. Random Seed - There are two options for Random Seed: Time-based or User
  251. Specified.  If Time-based is selected, Propagator uses a random seed based on
  252. the current time.  Time-based seeds differ each time a network is run.  To
  253. replicate past results, specify a random seed for Propagator to use.  The
  254. value of the seed must be between 0 and 2,147,483,647.
  255.  
  256.  
  257.  
  258. Network Training Parameters Dialog
  259.  
  260. This dialog box is used to set the values of the Network Training Parameters.
  261. These parameters can be changed after training has started.
  262.  
  263. Learning Rate - Determines the magnitude of the weight change during training.
  264.  
  265. Generally, values between 0 and 1 are used.  If 0 is selected, the network
  266. will not learn.  If the Learning Rate is too large, the error will oscillate
  267. and the network will not learn.
  268.  
  269. Momentum Factor - This parameter helps networks learn faster by basing the
  270. current weight changes proportionally on the previous weight changes.
  271. Generally, values between 0 and 1 are used.  If 0 is selected, the Momentum
  272. Factor term is not used.
  273.  
  274. Training Patterns Order - The training patterns can be presented either in
  275. random order or sequentially in the order of the patterns in the Training
  276. File.  If the Cumulative Delta Rule is used, the order does not matter,
  277. although sequential presentation is recommended to save time.
  278.  
  279. Total Training Cycles - Determines the maximum training cycles the network can
  280. run.  For example, if Total Training Cycles is set to 100, network training
  281. stops after 100 training cycles.  To train the network an additional 100
  282. cycles, this value must be increased to 200.
  283.  
  284. Minimum Training Error - Enables the network to stop training when the
  285. specified error value is reached.  The training error is the sum of the
  286. squared differences between the outputs and target values over the entire
  287. cycle divided by the number of training patterns.  This is often referred to
  288. as the Mean Squared Error.  Values in the range of 0.1 are often used.
  289.  
  290. Update Interval - Determines the behavior of many Propagator functions.  The
  291. valid range for the interval is 1 to 2,147,483,647, and it must be less than
  292. the Total Training Cycles value.  The following items are triggered when the
  293. number of training cycles reaches a multiple of the Update Interval:
  294. 1. The validation set is presented to the network,
  295. 2. A new line is added to the Performance History area of
  296.      the Control Window, and
  297. 3. Any graph currently shown is updated.
  298.  
  299. Training Patterns Input Noise - Gaussian noise can be added to the training
  300. patterns.  If added, the mean and standard deviation of the noise must be
  301. specified.  Generally, a mean of 0 and a small standard deviation such as 0.5
  302. are used.  Adding noise to the training patterns can enable the network to
  303. learn a more general solution to a problem.
  304.  
  305. Training File - Determines the data file used for training the network.  The
  306. Open Training File... button displays the Open File dialog that enables you to
  307. select a Training File.  When the Train button is pressed in the Control
  308. Window, Propagator verifies that the file contains the proper number of items.
  309.  
  310. The Training File can be changed after training has started.
  311.  
  312. Validation File - Determines the data file used for in the validation passes
  313. of the network.  The Open Validation File... button displays the Open File
  314. dialog that enables you to select a Validation File.  When the Train button is
  315. pressed in the Control Window, Propagator verifies that the file contains the
  316. proper number of items.  The Validation File can be changed after training has
  317. started.  However, once training with validation is started, the Validation
  318. File cannot be deleted.  Likewise, if training without validation is started,
  319. you cannot add a Validation File.  The Validation File is optional, and does
  320. not need to be used to train a network.
  321.  
  322.  
  323.  
  324. Network Testing Parameters Dialog
  325.  
  326. This dialog box enables you to select a file to use in testing a network and
  327. to add noise to the inputs of this Test File.  After all entries in this
  328. dialog are complete and it is closed, the test is run by selecting the Test
  329. button on the Control Window.  The results of the test are displayed in the
  330. Performance History area of the Control Window.  You can optionally request an
  331. Output vs. Target File from your test by selecting the Write Output vs. Target
  332. File When Testing option in the Preferences dialog.
  333.  
  334. Testing Patterns Input Noise - Gaussian noise can be added to the testing
  335. patterns.  If added, The mean and standard deviation of the noise must be
  336. specified.  Generally, a mean of 0 and a small standard deviation such as 0.5
  337. are used.  Adding noise to the testing patterns can enable you to determine
  338. more easily how well your network will generalize.
  339.  
  340. Testing File - Determines the data file used for testing the network.  The
  341. Open Testing File... button displays the Open File dialog that enables you to
  342. select a Testing File.  You can select any file, including a Training or
  343. Validation File, that has the proper number of elements.
  344.  
  345.  
  346.  
  347. **** Section 5 - The Graphs
  348.  
  349. Propagator displays three graphs that can help you determine the progress of
  350. network training.  Each of these graphs can be opened and closed while
  351. Propagator is running, and each is fully resizable.  A brief description of
  352. each graph follows.
  353.  
  354.  
  355.  
  356. Error vs. Cycle Graph
  357.  
  358. The Error vs. Cycle graph displays the mean squared error of the training and
  359. validation sets as training progresses.  If a validation set is not used,
  360. only the training set graph is displayed.  The mean squared error is plotted
  361. on the y-axis and the cycle number is plotted on the x-axis.  This graph is
  362. updated according to the Update Interval specified in the Network Training
  363. Parameters dialog.
  364.  
  365. Rescale - You can rescale the graph by clicking and dragging the mouse to
  366. create a rectangular region inside the active graph region.  When you release
  367. the mouse button, the graph rescales showing the selected area of the graph in
  368. greater detail.  You can zoom in as many times as you like.  To zoom out
  369. select the Zoom Out button.
  370.  
  371.  
  372.  
  373. Error vs. Output Unit Graph
  374.  
  375. The Error vs. Output Unit graph simultaneously displays the mean squared error
  376. for each output node in the network.  The sum of all of the error on this
  377. graph equals the training error value on the Error vs. Cycle graph.  The mean
  378. squared error is plotted on the y-axis and the output node number is plotted
  379. on the x-axis.  When all of the error values are within twenty percent of
  380. zero, the graph is automatically rescaled for better viewing.
  381.  
  382.  
  383.  
  384. Output Error vs. Target Graph
  385.  
  386. The Output Error vs. Target graph shows the relationship of an individual
  387. output node's errors to the target values for all patterns in a training
  388. cycle.  The errors, which are the output minus target values, are plotted on
  389. the y-axis while the target values are plotted on the x-axis.  As performance
  390. improves the values should tend to approach the zero error line drawn in the
  391. middle of the graph.  The slider at the bottom of the graph allows you to
  392. select the output node for which the error values are displayed.  When all of
  393. the error values are within twenty percent of zero, the graph is automatically
  394. rescaled for better viewing.
  395.  
  396.  
  397.  
  398. **** Section 6 - Other Features
  399.  
  400. Propagator provides several other function all of which are not useable in the
  401. demo.  In particular, the Output files listed in the Preference Dialog are not
  402. created in the demo.  These files are created when the problem file is saved,
  403. and since you cannot save with the demo version these files are not created.
  404. The source code generator is also absent from the demo version.
  405.  
  406.  
  407.  
  408. Jog Weights
  409.  
  410. Jog Weights dialog is used to specify a range of values by which the weights
  411. and bias units in an existing network can be altered randomly.  This technique
  412. is most often employed when the network is stuck in a local minimum.
  413.  
  414. Propagator randomly selects a number between the high and low range limits and
  415. adds it to each weight and bias unit in the network.  Generally a small range
  416. of values such as -0.1 to 0.1 is used.  Each weight and bias unit has a
  417. different random number within the desired range added to it.  The random
  418. numbers are drawn from a uniform distribution.
  419.  
  420.  
  421.  
  422. Preferences
  423.  
  424. Since you cannot save your trained networks in the demo version most of the
  425. Preferences dialog does not apply to the demo version.  However, the Training
  426. Speed/Responsiveness slider lets you set the comprise between the speed the
  427. network trains and how responsive the program is to user interactions.
  428.  
  429.  
  430.  
  431. Reinitialize
  432.  
  433. Reinitialize feature is used to start a problem over again without having to
  434. reenter the various parameters in the dialog boxes.
  435.  
  436. Reinitialize performs the following functions:
  437. 1.  Sets the current cycle to 0,
  438. 2.  Initializes the weights,
  439. 3.  Clears the Performance History area of the Control Window, and
  440. 4.  Allows access to the Network Architecture dialog.
  441.  
  442.  
  443.  
  444. **** Section 7 - Ordering Information
  445.  
  446. To order Propagator please contact:
  447.  
  448.      ARD Corporation
  449.      9151 Rumsey Road
  450.      Columbia, MD 21045
  451.      Phone     410/997-5600 or 1-800/969-2731
  452.      Fax       410/997-3902
  453.      Email     propagator@ard.com
  454.  
  455. The pricing for Propagator is:
  456.       PC Windows 3.x version                       $199
  457.       Macintosh System 7.x version                 $199
  458.       Sun Solaris 1.x and Solaris 2.x version      $499
  459. We accept VISA and Master Card.  Educational discounts, site licenses, and
  460. free technical support available.  We also provide a money back guarantee.
  461.  
  462. Finally, ARD's Software Systems Group provides complete software consulting
  463. services.  We have written complex applications for many industries since
  464. 1980.
  465.